package com.quectel.core.module.device.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.Date;

/**
 * 设备
 *
 * @author rananxin
 * @email: ryan.ran@quectel.com
 * @date 2021-10-29 13:49:59
 */
@Data
@TableName("device")
public class DeviceEntity {

    /**
     *
     */
    @TableId
    private Long id;


    /**
     * 父级id
     */
    private Long parentId;

    /**
     * 租户id
     */
    private Long tenantId;

    /**
     * 设备种类id
     */
    private Long deviceCategoryId;

    /**
     * 设备类型id
     */
    private Long deviceTypeId;

    /**
     * 所属小区id
     */
    private Long villageId;

    /**
     * 应用id
     */
    private Long applicationId;

    /**
     * 安装楼栋
     */
    private Long buildingId;

    /**
     * 安装楼层
     */
    private Long floorId;

    /**
     * 安装房间
     */
    private Long roomId;

    /**
     * 设别码
     */
    private String uniqueId;

    /**
     * IMEI
     */
    private String imei;

    /**
     * ip
     */
    private String ip;

    /**
     * 自定义名称
     */
    private String name;

    /**
     * 原始名称
     */
    private String originName;

    /**
     * 纬度
     */
    private Double latitude;

    /**
     * 经度
     */
    private Double longitude;

    /**
     * 信号类型
     */
    private Byte signalType;

    /**
     * 电源类型
     */
    private Byte powerType;

    /**
     * 硬件版本
     */
    private String hardVersion;

    /**
     * 软件版本
     */
    private String softVersion;

    /**
     * 最近一次心跳
     */
    private Date lastHeartbeat;

    /**
     * 最近一次物模型数据详情
     */
    private String lastData;

    /**
     * 扩展字段
     */
    private String extraAttr;

    /**
     * 1在线0离线
     */
    private Byte onlineStatus;

    /**
     * 1告警0正常
     */
    private Byte alarmStatus;

    /**
     * 告警开关 1开启0关闭
     */
    private Byte alarmSwitch;

    /**
     * 事件开关1开启0关闭
     */
    private Byte eventSwitch;

    /**
     * 工单开关1开启0关闭
     */
    private Byte workOrderSwitch;

    /**
     * 是否自定义告警规则
     */
    private Byte customRule;

    /**
     * 0未安装1已安装 默认是未安装有些设备需要手动置为安装
     */
    private Byte installStatus;

    /**
     * 安装位置
     */
    private String installAddress;

    /**
     * 安装时间
     */
    private Date installTime;

    /**
     * 生产日期
     */
    private Date manufactureTime;

    /**
     *
     */
    private String creator;

    /**
     *
     */
    private Date createTime;

    /**
     *
     */
    private String editor;

    /**
     *
     */
    private Date editTime;


}
